[XEND] Fix for creating VLANs using the Xen-API
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 27 Jul 2007 08:03:35 +0000 (09:03 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 27 Jul 2007 08:03:35 +0000 (09:03 +0100)
Recent changes to the setup of the peth0 interface have resulted in a
change of its MAC address. Previously it seems to have had a MAC
address of 'fe:ff:ff:ff:ff:ff', but now it has the same MAC address as
eth0. As a consequence to this the Xen-API code to create VLANs
(PIF.create_VLAN("peth0",...)) does not work anymore, since peth0 can
not be identified according to this previous criteria of fake MAC
address. This patch fixes this issue by identifying it through the
prefix 'peth'.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
tools/python/xen/xend/XendPIF.py

index f2f50597245926e0fa1b711930ea38cd342c5ccc..d29f9a363fbd82b2e0a9e108fc2f560ae853a485 100644 (file)
@@ -37,8 +37,8 @@ def linux_phy_to_virt(pif_name):
 def linux_get_phy_ifaces():
     """Returns a list of physical interfaces.
 
-    Identifies PIFs as those that have a interface name starting with 'p'
-    and have the fake 'fe:ff:ff:ff:ff:ff' MAC address.
+    Identifies PIFs as those that have a interface name starting with
+    'peth'.
 
     See /etc/xen/scripts/network-bridge for how the devices are renamed.
 
@@ -58,7 +58,7 @@ def linux_get_phy_ifaces():
                 
         # resolve pifs' mac addresses
         for name, mtu, mac in ifaces.values():
-            if name[0] == 'p' and mac == 'fe:ff:ff:ff:ff:ff':
+            if name.startswith('peth'):
                 bridged_ifname = linux_phy_to_virt(name)
                 bridged_if = ifaces.get(bridged_ifname)
                 if bridged_if: